from enum import Enum
from typing import Optional
from datetime import datetime
from pydantic import BaseModel


class CalibrationState(str, Enum):
    CALIBRATED = 'CALIBRATED'
    CALIBRATION_FAILED = 'CALIBRATION_FAILED'
    UNCALIBRATED = 'UNCALIBRATED'


class CalibrationConfig(BaseModel):
    last_calibration_date: Optional[int] = None
    calibration_state: CalibrationState = CalibrationState.UNCALIBRATED
    ustirovka_state: bool = False
    simulation_state: bool = False
